﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO;
using BUS;
using DAO;

namespace QuanLyKhachSan
{
    public partial class FmPhong_ThuePhong : Form
    {
        
        LoaiKhachHangBUS bus = new LoaiKhachHangBUS();
        public event FireEventForThuePhongThanhCong EventThuesuccess = null;
        public FmPhong_ThuePhong(string MaPhong,string tinhtrang)
        {

            InitializeComponent();
            lbMaPhong.Text = MaPhong;
            lbTinhTrang.Text = tinhtrang;
            //btnCapNhat.Enabled = false;
            //if (lbTinhTrang.Text == "2")
            //{
            //    btnCapNhat.Enabled = true;
            //    btnThuePhong.Enabled = false;
            //}
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void FmPhong_ThuePhong_Load(object sender, EventArgs e)
        {
            PhongDTO Phong = new PhongDTO();
            Phong.Maphong = Int32.Parse(lbMaPhong.Text);
            Phong.Tinhtrang = Int32.Parse(lbTinhTrang.Text);
            //LoadDanhSachPhongChuaThue(Phong);
            LoadThongTinPhong(Phong.Maphong);
            LoadLoaiKH(cbLoaiKH);
            LoaiLoaiKH();
        }
        public ListChiTietPhieuDTO ThemChiTietPhieu(int maphieu)
        {

            ListChiTietPhieuDTO list = new ListChiTietPhieuDTO();
            for (int i = 0; i < gidThongTin.Rows.Count-1; i++)
            {
                PhieuThueChiTietDTO dto = new PhieuThueChiTietDTO();

                if (gidThongTin.Rows[i].Cells[2].Value.ToString() == "" ||
                   gidThongTin.Rows[i].Cells[3].Value.ToString() == "" ||
                    gidThongTin.Rows[i].Cells[4].Value.ToString() == "" ||
                    gidThongTin.Rows[i].Cells[5].Value.ToString() == "")
                {
                    MessageBox.Show("Vui lòng nhập đầy đủ thông tin hàng");
                }
                else
                {
                    dto.Maloaikh = int.Parse(gidThongTin.Rows[i].Cells[3].Value.ToString());
                    dto.Tenkh = gidThongTin.Rows[i].Cells[2].Value.ToString();
                    dto.Cmnd = gidThongTin.Rows[i].Cells[4].Value.ToString();
                    dto.Diachi = gidThongTin.Rows[i].Cells[5].Value.ToString();
                    dto.Maphieu = maphieu;
                    list.Dsphieu.Add(dto);
                }
            }
            return list;
        }
        public void LoadLoaiKH(DataGridViewComboBoxColumn cmb)
        {
            cmb.DataSource = bus.LoadLoaiKH();
            cmb.DisplayMember = "TenLoaiKH";
            cmb.ValueMember = "MaLoaiKH";
            cmb.DataPropertyName = "MaLoaiKH";

        }
        public void LoaiLoaiKH()
        {
            cbLoaiKhachHang.DataSource = bus.LoadLoaiKH();
            cbLoaiKhachHang.DisplayMember = "TenLoaiKH";
            cbLoaiKhachHang.ValueMember = "MaLoaiKH";
            cbLoaiKhachHang.SelectedIndex = -1;

        }

        //public void LoadChiTietTheoMaPhieuPhong()
        //{
            
        //    PhieuThueBUS bus = new PhieuThueBUS();
        //    maphieu_ =bus.LayPhieuThueMaxTheoPhong(lbMaPhong.Text);
        //    gidThongTin.DataSource = busChitiet.loadChiTietTheoMaPhieu(maphieu_);
            
             
        //}

        //private void btnCapNhat_Click(object sender, EventArgs e)
        //{
        //    bool a = busChitiet.UpdateCT(maphieu_);
        //    if(a == true)
        //    { MessageBox.Show("aaa"); }
        //    else
        //        {MessageBox.Show("bbb");}
        //}
        //public void LoadDanhSachPhongChuaThue(PhongDTO dto)
        //{
            
        //    PhongBUS bus = new PhongBUS();
        //    cmbPhong.DataSource = bus.LayDanhSachPhongChuaThue(dto);
        //    cmbPhong.DisplayMember = "TenPhong";
        //    cmbPhong.ValueMember ="MaPhong";
        //}


        System.Collections.ArrayList arrListIDs = new System.Collections.ArrayList();
        private void btnThemKhachHang_Click(object sender, EventArgs e)
        {
            ThamSoBUS bus = new ThamSoBUS();
            int sokhachtoida =  bus.LayThamSo().Succhua;
           
            if (String.IsNullOrEmpty(txtCMND.Text))
            {
                MessageBox.Show("Vui lòng nhập số CMND");
                return;

            }
            if(String.IsNullOrEmpty(txtTenKH.Text))
            {
                MessageBox.Show("Nhập tên khách hàng");
                return;
            }
            if (String.IsNullOrEmpty(txtDiaCHi.Text))
            {

                MessageBox.Show("Nhập đia chỉ khách hàng");
                return ;
            }
            if (String.IsNullOrEmpty(cbLoaiKhachHang.SelectedText))
            {
                MessageBox.Show("Chọn Loại Khách Hàng");
                return;
            }

                 string ten = txtTenKH.Text;

             if (gidThongTin.Rows.Count <= sokhachtoida)
             {
                 string maloaikh = cbLoaiKhachHang.SelectedValue.ToString();
                 int i = Int32.Parse(maloaikh);
                 gidThongTin.Rows.Add("", "", txtTenKH.Text, cbLoaiKhachHang.SelectedValue, txtCMND.Text, txtDiaCHi.Text);
             }
             else
             {
                 MessageBox.Show("Phòng chỉ chứa tối đa" + sokhachtoida+" người");
             }

        }

        private void btnLapPhieuThue_Click(object sender, EventArgs e)
        {
            if (EventThuesuccess != null)
            {
                PhongBUS busp = new PhongBUS();
                PhieuThueChiTietBUS buct = new PhieuThueChiTietBUS();
                PhieuThueBUS bus = new PhieuThueBUS();
                PhieuThueDTO Phieu = new PhieuThueDTO();
                Phieu.Maphong = Int32.Parse(lbMaPhong.Text);
                string time = dateNgayvap.Value.ToString();
                DateTime tg = DateTime.Parse(time);
                Phieu.Ngaythue = tg;
                int i = bus.ThemPhieuThue(Phieu);
                int kq = buct.ThemChiTietPhieuThueBUS(ThemChiTietPhieu(i));
                //MessageBox.Show(kq == 1 ?"Lập Phiếu Thuê Thành công" : "Lập Phiệu thuê thất bại");
                if (kq == 1)
                {
                  
                    MessageBox.Show("Lập Phiếu Thuê Thành công");
                    // cap nhat trang thai phong
                    PhongDTO dto = new PhongDTO();
                    Phieu.Maphong = Int32.Parse(lbMaPhong.Text);
                    dto.Maphong = Phieu.Maphong;
                    dto.Tinhtrang = 2;
                    busp.UpdatTinhTrangPhong(dto.Maphong,dto.Tinhtrang);
                    //
                    EventThuesuccess(this, new ThueThanhCong { MaPhong = lbMaPhong.Text });
                    this.Close();
                }
                else
                    MessageBox.Show("Lập Phiếu thất bại vui lòng nhập đầy đủ thông in");


            }
        }
        private void btnClose_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        void LoadThongTinPhong(int maPhong)
        {
            PhongBUS bus = new PhongBUS();
            DataRow R = bus.LayThongTinPhongBUS(maPhong);
            lbTenPhong.Text = R["TenPhong"].ToString();
            txtGia.Text = R["Gia"].ToString();

        }
    }
}
